package com.atu.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;


public class HttpServletRequest_1 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //指定接收请求的编码字符集UTF-8，这样接收中文就不会出现乱码
        //这行代码要设置在接收参数之前，才会起作用
        request.setCharacterEncoding("UTF-8");
        System.out.println("----------dopost---------------");
        //        getRequestURI() 获取请求的资源路径
        System.out.println("url："+request.getRequestURI());
//    getRequestURL() 获取请求的统一资源定位符（绝对路径）
        System.out.println("src："+request.getRequestURL());
//         getRemoteHost() 获取客户端的 ip 地址
        System.out.println("访问的客户端地址："+request.getRemoteHost());
//    getHeader() 获取某个请求头的值
        System.out.println("获取请求头 "+request.getHeader("User-Agent"));
//     getParameter() 获取某个请求的参数
        System.out.println("用户账号："+request.getParameter("username"));
        System.out.println("用户密码："+request.getParameter("password"));
//    getParameterValues() 获取请求的参数（多个值的时候使用）
        String[] hobbies = request.getParameterValues("hobby");
        System.out.println("用户爱好："+ Arrays.asList(hobbies));
//        getMethod() 获取请求的方式 GET 或 POST
        System.out.println(request.getMethod());
//        setAttribute(key, value); 设置域数据
        request.setAttribute("key3","110");
//    getAttribute(key); 获取域数据
        System.out.println(request.getAttribute("key3"));
//     getRequestDispatcher() 获取请求转发对象

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("----------doget---------------");
//        getRequestURI() 获取请求的资源路径
        System.out.println("url："+request.getRequestURI());
//    getRequestURL() 获取请求的统一资源定位符（绝对路径）
        System.out.println("src："+request.getRequestURL());
//         getRemoteHost() 获取客户端的 ip 地址
        System.out.println("访问的客户端地址："+request.getRemoteHost());
//    getHeader() 获取某个请求头的值
        System.out.println("获取请求头 "+request.getHeader("User-Agent"));
//     getParameter() 获取某个请求的参数
        System.out.println("用户账号："+request.getParameter("username"));
        System.out.println("用户密码："+request.getParameter("password"));
//    getParameterValues() 获取请求的参数（多个值的时候使用）
        String[] hobbies = request.getParameterValues("hobby");
        System.out.println("用户爱好："+ Arrays.asList(hobbies));
//        getMethod() 获取请求的方式 GET 或 POST
        System.out.println(request.getMethod());
//        setAttribute(key, value); 设置域数据
        request.setAttribute("key3","110");
//    getAttribute(key); 获取域数据
        System.out.println(request.getAttribute("key3"));
//     getRequestDispatcher() 获取请求转发对象
    }
}
